ArangoDB-তে User এবং Role Management একটি গুরুত্বপূর্ণ ফিচার, যা ডাটাবেসে অ্যাক্সেস নিয়ন্ত্রণ এবং নিরাপত্তা নিশ্চিত করে। এটি Authentication, Authorization, এবং Role-Based Access Control (RBAC) ব্যবস্থার মাধ্যমে বিভিন্ন ইউজারের জন্য ভিন্ন ভিন্ন অনুমতি কনফিগার করার সুযোগ দেয়।
User Management
User তৈরি করা
ArangoDB-তে নতুন User তৈরি করতে arangosh বা Web Interface ব্যবহার করা যায়।
arangosh ব্যবহার করে:
require('@arangodb/users').save("username", "password");
ব্যাখ্যা:
username: নতুন ইউজারের নাম।password: ইউজারের পাসওয়ার্ড।
Web Interface ব্যবহার করে:
- Users সেকশনে যান।
- Add User অপশন নির্বাচন করুন।
- Username, Password, এবং প্রয়োজনীয় তথ্য যোগ করুন।
User এর Permission নির্ধারণ
প্রতিটি User-এর জন্য নির্দিষ্ট ডাটাবেস এবং Collection-এর উপর অ্যাক্সেস নিয়ন্ত্রণ করা যায়।
arangosh ব্যবহার করে:
require('@arangodb/users').grantDatabase("username", "my_database", "rw");
ব্যাখ্যা:
"rw": Read-Write পারমিশন।"ro": Read-Only পারমিশন।
Web Interface ব্যবহার করে:
- Users সেকশনে যান।
- নির্দিষ্ট ইউজার নির্বাচন করুন।
- ডাটাবেস এবং Collection-এ অনুমতি সেট করুন।
Role Management
ArangoDB-তে Role Management মূলত ডাটাবেস এবং Collection-এ অ্যাক্সেস কন্ট্রোল নিশ্চিত করার জন্য ব্যবহৃত হয়।
Role-Based Access Control (RBAC) এর কার্যপ্রণালী
- Role তৈরি করা হয় না আলাদাভাবে।
- ArangoDB-তে প্রতিটি User একটি নির্দিষ্ট Permission সহ কাজ করে।
- ডাটাবেস বা Collection-এর উপর পারমিশন নির্ধারণ করে অ্যাক্সেস নিয়ন্ত্রণ করা হয়।
- Permission Levels:
No Access: কোনো অ্যাক্সেস নেই।Read-Only: শুধুমাত্র ডেটা পড়া যাবে।Read-Write: ডেটা পড়া এবং লেখা যাবে।
Permission উদাহরণ
ডাটাবেস-লেভেল Permission
require('@arangodb/users').grantDatabase("username", "_system", "rw");
_system: সিস্টেম ডাটাবেস।
Collection-লেভেল Permission
require('@arangodb/users').grantCollection("username", "my_database", "my_collection", "ro");
ব্যাখ্যা:
- ইউজার শুধুমাত্র নির্দিষ্ট Collection পড়তে পারবে।
Authentication এবং Authorization
Authentication
ArangoDB-তে ইউজার লগইন করার সময় username এবং password দিয়ে প্রমাণীকরণ সম্পন্ন হয়।
LDAP Authentication (Optional)
LDAP সার্ভারের মাধ্যমে Authentication কনফিগার করা সম্ভব।
Authorization
প্রত্যেক ইউজারের জন্য ডাটাবেস এবং Collection-এ নির্দিষ্ট Permission নির্ধারণ করা হয়।
Audit Logs এবং Monitoring
ArangoDB-তে User এবং Role Management কার্যক্রম পর্যবেক্ষণ করার জন্য Audit Logs ব্যবহার করা হয়। এটি User কার্যক্রমের সম্পূর্ণ রেকর্ড প্রদান করে।
Monitoring Tools
- ArangoDB Web Interface
- Prometheus এবং Grafana (External Monitoring Tools)
Best Practices
- Least Privilege Access:
ইউজারদের শুধুমাত্র প্রয়োজনীয় Permission প্রদান করুন। - Strong Password Policy:
শক্তিশালী পাসওয়ার্ড ব্যবহার নিশ্চিত করুন। - Audit Logs Enable করুন:
User কার্যক্রম পর্যবেক্ষণ করতে Audit Logs সক্রিয় রাখুন। - Regular Permission Review:
সময়ে সময়ে ইউজার পারমিশন রিভিউ করুন। - Backup এবং Recovery Plan:
User এবং Permission সংক্রান্ত ডেটা রিস্টোর করার জন্য প্রস্তুত থাকুন।
সারাংশ
User এবং Role Management ArangoDB-এর একটি গুরুত্বপূর্ণ সিকিউরিটি ফিচার, যা ডাটাবেসে অ্যাক্সেস নিয়ন্ত্রণ এবং সুরক্ষা নিশ্চিত করে। এটি RBAC, Permission কনফিগারেশন, এবং Monitoring এর মাধ্যমে ডেটার নিরাপত্তা এবং কার্যক্ষমতা বৃদ্ধি করে।
Read more